草庐IT

postgresql - Docker Compose 和 Postgres : Name does not resolve

全部标签

java - 如何从 Postgres 获取查询计划信息到 JDBC

我想从您“解释”查询时获得的查询计划中获取成本数字。有什么方法可以在JavaResultSet(或类似对象)中获取这些数据? 最佳答案 当然,只需将其作为常规语句运行即可:Statementstmt=connection.createStatement();ResultSetrs=stmt.executeQuery("explainanalyzeselect*fromfoo");while(rs.next()){System.out.println(rs.getString(1));}

java - 从postgresql中批量插入的行中检索序列号

这是有效的代码:Connectionc=ds.getConnection();c.setAutoCommit(false);PreparedStatementstmt=c.prepareStatement("INSERTINTOitems(name,description)VALUES(?,?)");while(!(items=bus.take()).isEmpty()){for(Itemitem:items){stmt.setString(1,item.name);stmt.setString(2,item.description);stmt.addBatch();}stmt.exe

java - Postgres 中的生成值

我的实体类映射如下:@Entity@Audited@Table(name="messages_locale")publicclassLocale{@Id@GeneratedValue@Getter@Setter//ProjectLombok'sannotations,equaltogeneratedgetterandsettermethodprivateintid;(...)我创建干净的新数据库和属性:create为什么在创建数据库后(抱歉,这个错误几乎浪费了两天时间),我在我的postgres数据库中得到了一个序列?:CREATESEQUENCEhibernate_sequenceI

java - 与 postgreSQL 数据库连接的非法 UTF-8 序列

我有以下代码连接到数据库Stringhost="jdbc:postgresql://localhost:5432/name";Stringusername="user";Stringpassword="pass";Connectionc=null;try{Class.forName("org.postgresql.Driver");c=DriverManager.getConnection(host,username,password);}catch(Exceptione){e.printStackTrace();System.err.println(e.getClass().getN

java - 有没有办法将 Postgres 的 UUID 生成与 Hibernate 的 IDENTITY ID 生成策略结合使用?

我正在使用SpringBoot1.4.1,其中包括Hibernate5和Postgres9.6,我正在尝试创建一个具有UUIDID的实体,但使用的是Postgres的UUID生成而不是Hibernate的。很多类似的问题都说要设置columntype为pg-uuid。这似乎适用于非数据库生成的ID列,但是当我尝试将它用于ID列时,我得到了org.hibernate.id.IdentifierGenerationException:无法识别的ID类型:pg-uuid->java.util.UUID所以看起来Hibernate正确地应用了类型,但没有转换它。以下是我的实体的ID列的设置方式

java - 为什么 Postgres Replication Stream 在单独的函数中使用时不起作用?

我正在研究postgres复制流API。在处理它时遇到了异常行为。当我使用复制槽在主block内编写整个代码时,一切正常。publicclassServerimplementsConfig{publicstaticvoidmain(String[]args){Propertiesprop=newProperties();prop.load(newFileInputStream(System.getProperty("prop")));Stringuser=prop.getProperty("user");Stringpassword=prop.getProperty("password

java - postgres 中 ctid 的 JDBC 类型是什么?

我似乎无法在准备好的语句中设置正确的类型。这段代码:Stringsql="deletefromfoowherectid=?";PreparedStatementdeleteStmt=conn.prepareStatement(sql);deleteStmt.setString(1,"(0,43)");//selectctidfromfooshows(0,43)exists....inta=deleteStmt.executeUpdate();抛出这个异常:org.postgresql.util.PSQLException:ERROR:operatordoesnotexist:tid=c

java - 有没有办法用 Hibernate/JPQL 查询 PostgreSQL hstore?

假设我有一个如下所示的Hibernate/JPA实体:@EntitypublicclassFooEntity{...@Type(type="hstore")HashMaptags;}...和hstore类型是来自this的简单UserType实现资源。有没有一种方法可以在类似于此伪代码的JPQL查询中访问hstore:SELECTfFROMFooEntityfWHEREf.tagsCONTAINSKEY(:key) 最佳答案 您也可以简单地创建一个Hibernateorg.hibernate.usertype.UserType。你扩

java - 带有 JDBC 的 Postgres UTF-8 clobs

PostgresJDBC驱动程序似乎无法正确处理UTF-8clob。当您检索clob时,字符不正确(您得到非ascii字符的?标记)。据推测这是一个已知问题:http://archives.postgresql.org/pgsql-bugs/2010-09/msg00034.phphttps://jira.springsource.org/browse/SPR-7520http://archives.postgresql.org/pgsql-jdbc/2011-02/msg00032.php幸运的是,对于我的应用程序,我通常避免使用clob,所以我刚刚将clob的字段变成了非常大的va

java - postgresql - java - 当数据库中发生某些事情时唤醒应用程序

我编写了一个Java应用程序,它应该在数据库中发生“某事”时启动或唤醒。例如,插入用户表应该触发发送通常的欢迎、密码……邮件。执行此操作的最佳常见做法是什么?我可以编写我的应用程序,使其每秒执行以下查询:selectmailfromuserwheremail_sent=false但这是轮询,我想避免它。有没有办法启动或唤醒由数据库更改启动的Java应用程序(推送)?干杯! 最佳答案 PostgreSQL中的触发器可以用多种语言编写,其中包括PL/Java。您可以在需要此监视相关操作(插入、删除、更新...)的表上设置触发器,并让触发